// OGoMojo
// Whitemice.MOGI.IObject
// License: LGPL
// Copyright: Whitemice Consulting, 2006
// Author(s): Adam Tauno Williams (awilliam@whitemice.org)
using System;

namespace Whitemice.MOGI {

	public interface IMOGIObject
	{
		/// \brief Return *unique* name of object
		/// \note Names look like
		///    Document/{type}/{id} as in Document/Contact/20560
		///    Annotation/{type}/{id}/{annotationId} as in Annotation/Task/11760/23470
		///    Relation/{sourceType}/{sourceId}/{relationType}/{destinationType}/{destinationId}
		///      as in Relation/Account/11050/MemberOf/Team/43020
		///  So the object type is always Name.Split('/')[0]
		///  So the document type is always Name.Split('/')[1]
		///  So the document id is always Name.Split('/')[2]
		///  This knowledge is used by the static MOGI utility object
		string Name { get; }
	}
}